<!DOCTYPE html>
<!--[if IEMobile 7 ]><html class="no-js iem7"><![endif]-->
<!--[if lt IE 9]><html class="no-js lte-ie8"><![endif]-->
<!--[if (gt IE 8)|(gt IEMobile 7)|!(IEMobile)|!(IE)]><!--><html class="no-js" lang="en"><!--<![endif]-->
<head>
  <meta charset="utf-8">
  <title>C语言零长数组 &mdash; cat writebug.cn/history</title>
  <meta name="author" content="zhiliao">
  <meta name="description" content="C语言零长数组" />

  <meta name="keywords" content="开发者,程序,博客园,程序猿,程序媛,极客,码农,编程,代码,软件开发,开源,IT网站,技术社区,Developer,Programmer,Coder,Geek,Coding,Code,writebug,bug,写bug,linux,vim,编程语言,调试" />

  <link href="/feeds/all.atom.xml" type="application/rss+xml" rel="alternate"
        title="cat writebug.cn/history RSS Feed" />





  <!-- http://t.co/dKP3o1e -->
  <meta name="HandheldFriendly" content="True">
  <meta name="MobileOptimized" content="320">
  <meta name="viewport" content="width=device-width, initial-scale=1">


    <link href="/favicon.png" rel="icon">

  <link href="/theme/css/main.css" media="screen, projection"
        rel="stylesheet" type="text/css">
  <link href="/theme/css/pygment.css" rel="stylesheet" type="text/css">

  <!--
  <link href="//fonts.googleapis.com/css?family=PT+Serif:regular,italic,bold,bolditalic"
        rel="stylesheet" type="text/css">
  <link href="//fonts.googleapis.com/css?family=PT+Sans:regular,italic,bold,bolditalic"
        rel="stylesheet" type="text/css">
  -->


  <script src="/theme/js/modernizr-2.0.js"></script>
  <script src="/theme/js/ender.js"></script>
  <script src="/theme/js/octopress.js" type="text/javascript"></script>
</head>

<body >
  <header role="banner"
  >
<hgroup>
  <h1><a href="/">cat writebug.cn/history</a></h1>
    <h2>一个开发者的技术博客。</h2>
</hgroup></header>
  <nav role="navigation"><ul class="subscription" data-subscription="rss">
  <li><a href="/feeds/all.atom.xml" rel="subscribe-rss">RSS</a></li>
</ul>


<ul class="main-navigation">
    <li><a href="/">Home</a></li>
    <li><a href="/archives.html">Archive</a></li>
    <li><a href="/pages/todolist.html">TodoList</a></li>
    <li><a href="/pages/about.html">About</a></li>
</ul></nav>
  <div id="main">
    <div id="content">
<div>
  <article class="hentry" role="article">
<header>
      <h1 class="entry-title">C语言零长数组</h1>
    <p class="meta">
<time datetime="2014-03-23T18:28:00+08:00" pubdate>2014-03-23 18:28:00</time>      
    </p>
</header>

    <div class="entry-content"><p>前言：计算机语言是编译器和程序员交流的依据和规范，GNU C是GCC特有的功能，在Linux内核中被广泛应用。</p>
<p>帮助文档：http://gcc.gnu.org/onlinedocs/gcc-4.6.2/gcc/C-Extensions.html#C-Extensions</p>
<div class="highlight-custom"><pre><span></span><code>int *p;
p=(int[]){99};
GCC 临时变量
</code></pre></div>

<h2>1、零长数组</h2>
<p>GNU C允许声明长度为零的数组，但它只能被用于结构体的最后一个成员。</p>
<p>举例，如清单1： </p>
<div class="highlight-custom"><pre><span></span><code><span class="cp">#include </span>
<span class="cp">#include </span>
<span class="k">struct</span><span class="w"> </span><span class="nc">line</span><span class="w"> </span><span class="p">{</span><span class="w">  </span>
<span class="w">    </span><span class="kt">int</span><span class="w"> </span><span class="n">length</span><span class="p">;</span><span class="w">  </span>
<span class="w">    </span><span class="kt">char</span><span class="w"> </span><span class="n">contents</span><span class="p">[</span><span class="mi">0</span><span class="p">];</span><span class="w">  </span>
<span class="p">};</span><span class="w">  </span>

<span class="kt">int</span><span class="w"> </span><span class="nf">main</span><span class="p">(</span><span class="kt">void</span><span class="p">)</span><span class="w">  </span>
<span class="p">{</span>
<span class="w">    </span><span class="kt">int</span><span class="w"> </span><span class="n">i</span><span class="p">,</span><span class="w"> </span><span class="n">count</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">9</span><span class="p">;</span><span class="w"> </span>
<span class="w">    </span><span class="kt">char</span><span class="w"> </span><span class="n">letter</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="sc">&#39;A&#39;</span><span class="p">;</span>
<span class="w">    </span><span class="k">struct</span><span class="w"> </span><span class="nc">line</span><span class="w"> </span><span class="o">*</span><span class="n">thisline</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">(</span><span class="k">struct</span><span class="w"> </span><span class="nc">line</span><span class="w"> </span><span class="o">*</span><span class="p">)</span><span class="n">malloc</span><span class="p">(</span><span class="k">sizeof</span><span class="p">(</span><span class="k">struct</span><span class="w"> </span><span class="nc">line</span><span class="p">)</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="n">count</span><span class="p">);</span><span class="w">  </span>
<span class="w">    </span>
<span class="w">    </span><span class="n">thisline</span><span class="o">-&gt;</span><span class="n">length</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">count</span><span class="p">;</span><span class="w">  </span>

<span class="w">    </span><span class="k">for</span><span class="w"> </span><span class="p">(</span><span class="n">i</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span><span class="w"> </span><span class="n">i</span><span class="w"> </span><span class="o">&lt;</span><span class="w"> </span><span class="n">count</span><span class="p">;</span><span class="w"> </span><span class="n">i</span><span class="o">++</span><span class="p">){</span>
<span class="w">        </span><span class="n">thisline</span><span class="o">-&gt;</span><span class="n">contents</span><span class="p">[</span><span class="n">i</span><span class="p">]</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">letter</span><span class="o">++</span><span class="p">;</span>
<span class="w">    </span><span class="p">}</span>
<span class="w">    </span>
<span class="w">    </span><span class="n">printf</span><span class="p">(</span><span class="s">&quot;sizeof(struct line) = %d</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span><span class="w"> </span><span class="k">sizeof</span><span class="p">(</span><span class="k">struct</span><span class="w"> </span><span class="nc">line</span><span class="p">));</span><span class="w"> </span>
<span class="w"> </span>
<span class="w">    </span><span class="k">for</span><span class="w"> </span><span class="p">(</span><span class="n">i</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span><span class="w"> </span><span class="n">i</span><span class="w"> </span><span class="o">&lt;</span><span class="w"> </span><span class="n">thisline</span><span class="o">-&gt;</span><span class="n">length</span><span class="p">;</span><span class="w"> </span><span class="n">i</span><span class="o">++</span><span class="p">)</span><span class="w">  </span>
<span class="w">        </span><span class="n">printf</span><span class="p">(</span><span class="s">&quot;%c &quot;</span><span class="p">,</span><span class="w"> </span><span class="n">thisline</span><span class="o">-&lt;</span><span class="n">contents</span><span class="p">[</span><span class="n">i</span><span class="p">]);</span><span class="w">  </span>
<span class="w">    </span><span class="n">printf</span><span class="p">(</span><span class="s">&quot;</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">);</span><span class="w">  </span>
<span class="w">    </span><span class="k">return</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span><span class="w">  </span>
<span class="p">}</span>
</code></pre></div>

<p>例子输出结果： </p>
<div class="highlight-custom"><pre><span></span><code>sizeof(struct line) = 4  
A B C D E F G H I
</code></pre></div>

<p>如例子中的第6行，contents就是一个零长数组，在sizeof看来它所占的空间为零。</p>
<h2>在ISO C99中，使用变长数组也可以实现同样的功能，如清单2：</h2>
<div class="highlight-custom"><pre><span></span><code><span class="n">#include</span><span class="w"> </span>
<span class="n">#include</span><span class="w"> </span>
<span class="n">struct</span><span class="w"> </span><span class="n">line</span><span class="w"> </span><span class="err">{</span><span class="w">  </span>
<span class="nc">int</span><span class="w"> </span><span class="n">length</span><span class="p">;</span><span class="w">  </span>
<span class="nc">char</span><span class="w"> </span><span class="n">contents</span><span class="err">[]</span><span class="p">;</span><span class="w">  </span>
<span class="err">}</span><span class="p">;</span><span class="w">  </span>
<span class="n">struct</span><span class="w"> </span><span class="n">line</span><span class="w"> </span><span class="n">thisline</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="err">{</span><span class="w"> </span><span class="mi">5</span><span class="p">,</span><span class="w"> </span><span class="err">{</span><span class="s1">&#39;1&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;2&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;3&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;4&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;5&#39;</span><span class="w"> </span><span class="err">}</span><span class="w"> </span><span class="err">}</span><span class="p">;</span><span class="w">  </span>
<span class="nc">int</span><span class="w"> </span><span class="n">main</span><span class="p">(</span><span class="n">void</span><span class="p">)</span><span class="w">  </span>
<span class="err">{</span><span class="w">  </span>
<span class="nc">int</span><span class="w"> </span><span class="n">i</span><span class="p">;</span><span class="w">  </span>
<span class="w">    </span><span class="n">printf</span><span class="p">(</span><span class="ss">&quot;sizeof(struct line) = %d\n&quot;</span><span class="p">,</span><span class="w"> </span><span class="n">sizeof</span><span class="p">(</span><span class="n">struct</span><span class="w"> </span><span class="n">line</span><span class="p">));</span><span class="w">  </span>
<span class="w">    </span><span class="n">printf</span><span class="p">(</span><span class="ss">&quot;sizeof(thisline) = %d\n&quot;</span><span class="p">,</span><span class="w"> </span><span class="n">sizeof</span><span class="p">(</span><span class="n">thisline</span><span class="p">));</span><span class="w">  </span>
<span class="k">for</span><span class="w"> </span><span class="p">(</span><span class="n">i</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span><span class="w"> </span><span class="n">i</span><span class="w"> </span><span class="o">&lt;</span><span class="w"> </span><span class="n">thislinelengthispan</span><span class="o">&gt;</span>
<span class="w">    </span><span class="n">printf</span><span class="p">(</span><span class="ss">&quot;%c &quot;</span><span class="p">,</span><span class="w"> </span><span class="n">thisline</span><span class="p">.</span><span class="n">contents</span><span class="o">[</span><span class="n">i</span><span class="o">]</span><span class="p">);</span><span class="w">  </span>
<span class="w">    </span><span class="n">printf</span><span class="p">(</span><span class="ss">&quot;\n&quot;</span><span class="p">);</span><span class="w">  </span>
<span class="k">return</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span><span class="w">  </span>
<span class="err">}</span><span class="w">  </span>
</code></pre></div>

<p>例子输出结果： </p>
<div class="highlight-custom"><pre><span></span><code>sizeof(struct line) = 4  
sizeof(thisline) = 4  
1 2 3 4 5
</code></pre></div>

<p>变长数组是不完全数据类型，不能使用sizeof获得它的大小。</p>
<p>注意，此结构体的变量必须在函数外定义和初始化，否则会报错： </p>
<div class="highlight-custom"><pre><span></span><code><span class="n">error</span><span class="o">:</span><span class="w"> </span><span class="n">non</span><span class="o">-</span><span class="kd">static</span><span class="w"> </span><span class="n">initialization</span><span class="w"> </span><span class="n">of</span><span class="w"> </span><span class="n">a</span><span class="w"> </span><span class="n">flexible</span><span class="w"> </span><span class="n">array</span><span class="w"> </span><span class="n">member</span><span class="w">  </span>
<span class="n">error</span><span class="o">:</span><span class="w"> </span><span class="o">(</span><span class="n">near</span><span class="w"> </span><span class="n">initialization</span><span class="w"> </span><span class="k">for</span><span class="s1">&#39;thisline&#39;</span><span class="o">)</span><span class="w">  </span>
<span class="w">    </span><span class="err">不能使用这样的形式：</span><span class="w"> </span>

<span class="n">struct</span><span class="w"> </span><span class="n">mystruct</span><span class="w"> </span><span class="o">{</span><span class="w">  </span>
<span class="n">int</span><span class="w"> </span><span class="n">arr</span><span class="o">[];</span><span class="w">  </span>
<span class="o">};</span><span class="w">  </span>
<span class="w">    </span><span class="err">否则会报错：</span><span class="w"> </span>
<span class="n">error</span><span class="o">:</span><span class="w"> </span><span class="n">flexible</span><span class="w"> </span><span class="n">array</span><span class="w"> </span><span class="n">member</span><span class="w"> </span><span class="k">in</span><span class="w"> </span><span class="n">otherwise</span><span class="w"> </span><span class="n">empty</span><span class="w"> </span><span class="n">struct</span>
</code></pre></div>

<h3>2、变长数组</h3>
<p>在支持变长数组之前，C语言数组的大小是在声明时确定的（下标是一个常量表达式）并一直保持不变。所谓变长数组就是指数组的大小可以在运行时指定，如清单3： </p>
<div class="highlight-custom"><pre><span></span><code><span class="n">#include</span><span class="w"> </span>
<span class="nc">int</span><span class="w"> </span><span class="n">main</span><span class="p">(</span><span class="n">void</span><span class="p">)</span><span class="w">  </span>
<span class="err">{</span><span class="w">  </span>
<span class="nc">int</span><span class="w"> </span><span class="n">i</span><span class="p">;</span><span class="w">  </span>
<span class="w">    </span><span class="n">scanf</span><span class="p">(</span><span class="ss">&quot;%d&quot;</span><span class="p">,</span><span class="w"> </span><span class="o">&amp;</span><span class="n">i</span><span class="p">);</span><span class="w">  </span>
<span class="nc">int</span><span class="w"> </span><span class="n">arr</span><span class="o">[</span><span class="n">i</span><span class="o">]</span><span class="p">;</span><span class="w">  </span>
<span class="w">    </span><span class="n">printf</span><span class="p">(</span><span class="ss">&quot;sizeof(arr[%d]) = %d\n&quot;</span><span class="p">,</span><span class="w"> </span><span class="n">i</span><span class="p">,</span><span class="w"> </span><span class="n">sizeof</span><span class="p">(</span><span class="n">arr</span><span class="p">));</span><span class="w">  </span>
<span class="k">return</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span><span class="w">  </span>
<span class="err">}</span>
</code></pre></div>

<p>例子输出结果： </p>
<div class="highlight-custom"><pre><span></span><code>sizeof(arr[6]) = 24 //输入数字6
sizeof(arr[9]) = 36 //输入数字9
    输入不同的值，数组的大小随之改变。
</code></pre></div>

<p>变长数组作为参数进行传递的例子，如清单4： </p>
<div class="highlight-custom"><pre><span></span><code><span class="n">#include</span><span class="w"> </span>
<span class="nc">int</span><span class="w"> </span><span class="nf">sum</span><span class="p">(</span><span class="nc">int</span><span class="w"> </span><span class="n">num</span><span class="p">,</span><span class="w"> </span><span class="nc">int</span><span class="w"> </span><span class="n">arr</span><span class="o">[</span><span class="n">num</span><span class="o">]</span><span class="p">)</span><span class="w">  </span>
<span class="err">{</span><span class="w">  </span>
<span class="nc">int</span><span class="w"> </span><span class="n">i</span><span class="p">,</span><span class="w"> </span><span class="n">total</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span><span class="w">  </span>
<span class="k">for</span><span class="w"> </span><span class="p">(</span><span class="n">i</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span><span class="w"> </span><span class="n">i</span><span class="w"> </span><span class="o">&lt;</span><span class="w"> </span><span class="n">numispan</span><span class="o">&gt;</span>
<span class="w">    </span><span class="n">total</span><span class="w"> </span><span class="o">+=</span><span class="w"> </span><span class="n">arr</span><span class="o">[</span><span class="n">i</span><span class="o">]</span><span class="p">;</span><span class="w">  </span>
<span class="k">return</span><span class="w"> </span><span class="n">total</span><span class="p">;</span><span class="w">  </span>
<span class="err">}</span><span class="w">  </span>
<span class="nc">int</span><span class="w"> </span><span class="n">main</span><span class="p">(</span><span class="n">void</span><span class="p">)</span><span class="w">  </span>
<span class="err">{</span><span class="w">  </span>
<span class="nc">int</span><span class="w"> </span><span class="n">a</span><span class="err">[]</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="err">{</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="mi">4</span><span class="err">}</span><span class="p">;</span><span class="w">  </span>
<span class="nc">int</span><span class="w"> </span><span class="n">b</span><span class="err">[]</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="err">{</span><span class="mi">5</span><span class="p">,</span><span class="w"> </span><span class="mi">6</span><span class="p">,</span><span class="w"> </span><span class="mi">7</span><span class="p">,</span><span class="w"> </span><span class="mi">8</span><span class="p">,</span><span class="w"> </span><span class="mi">9</span><span class="p">,</span><span class="w"> </span><span class="mi">10</span><span class="err">}</span><span class="p">;</span><span class="w">  </span>
<span class="w">    </span><span class="n">printf</span><span class="p">(</span><span class="ss">&quot;a[] total value: %d\n&quot;</span><span class="p">,</span><span class="w"> </span><span class="nf">sum</span><span class="p">(</span><span class="n">sizeof</span><span class="p">(</span><span class="n">a</span><span class="p">)</span><span class="o">/</span><span class="n">sizeof</span><span class="p">(</span><span class="n">a</span><span class="o">[</span><span class="n">0</span><span class="o">]</span><span class="p">),</span><span class="w"> </span><span class="n">a</span><span class="p">));</span><span class="w">  </span>
<span class="w">    </span><span class="n">printf</span><span class="p">(</span><span class="ss">&quot;b[] total value: %d\n&quot;</span><span class="p">,</span><span class="w"> </span><span class="nf">sum</span><span class="p">(</span><span class="n">sizeof</span><span class="p">(</span><span class="n">b</span><span class="p">)</span><span class="o">/</span><span class="n">sizeof</span><span class="p">(</span><span class="n">b</span><span class="o">[</span><span class="n">0</span><span class="o">]</span><span class="p">),</span><span class="w"> </span><span class="n">b</span><span class="p">));</span><span class="w">  </span>
<span class="k">return</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span><span class="w">  </span>
<span class="err">}</span>
</code></pre></div>

<p>例子输出结果：</p>
<div class="highlight-custom"><pre><span></span><code>a[] total value: 10  
b[] total value: 45  
    函数sum形参中的arr可以匹配任意的一维整型数组。
    注意，num一定要声明在变长数组arr之前。
</code></pre></div></div>
    <footer>
<p class="meta">
  <span class="byline author vcard">
    Posted by <span class="fn">
        zhiliao
    </span>
  </span>
<time datetime="2014-03-23T18:28:00+08:00" pubdate>2014-03-23 18:28:00</time>  <span class="categories">
    <a class='category' href='/category/programming.html'>programming</a>
  </span>
  <span class="categories">
    <a class="category" href="/tag/programming.html">programming</a>,    <a class="category" href="/tag/c.html">C</a>  </span>
</p><div class="sharing">
</div>    </footer>
  </article>

</div>

<aside class="sidebar">
<section>
  <h1>Recent Posts</h1>
  <ul id="recent_posts">
    <li class="post">
        <a href="/posts/2023/08/22/bash-conversion.html">bash进制转换</a>
    </li>
    <li class="post">
        <a href="/posts/2023/08/16/remap-caps-ctrl.html">在Linux下交换Ctrl与大写锁定键</a>
    </li>
    <li class="post">
        <a href="/posts/2023/08/15/learn-java.html">java入门精粹</a>
    </li>
    <li class="post">
        <a href="/posts/2023/08/04/tcl-expect.html">Tcl 和 expect教程</a>
    </li>
    <li class="post">
        <a href="/posts/2023/08/01/armbian-config-software.html">armbian-config 支持自动安装的软件</a>
    </li>
  </ul>
</section><section>
  <h1>Categories</h1>
    <ul id="recent_posts">
      <li><a href="/category/android.html">android (2)</a></li>
      <li><a href="/category/blog.html">blog (1)</a></li>
      <li><a href="/category/bootloader.html">bootloader (2)</a></li>
      <li><a href="/category/container.html">container (1)</a></li>
      <li><a href="/category/database.html">database (1)</a></li>
      <li><a href="/category/editor.html">editor (4)</a></li>
      <li><a href="/category/filesystem.html">filesystem (1)</a></li>
      <li><a href="/category/firefox.html">firefox (1)</a></li>
      <li><a href="/category/git.html">git (4)</a></li>
      <li><a href="/category/golang.html">golang (1)</a></li>
      <li><a href="/category/gu-piao.html">股票 (1)</a></li>
      <li><a href="/category/ide.html">IDE (1)</a></li>
      <li><a href="/category/interview.html">interview (1)</a></li>
      <li><a href="/category/linux.html">linux (51)</a></li>
      <li><a href="/category/network.html">network (7)</a></li>
      <li><a href="/category/nltk.html">nltk (2)</a></li>
      <li><a href="/category/notes.html">notes (1)</a></li>
      <li><a href="/category/other.html">other (1)</a></li>
      <li><a href="/category/programming.html">programming (10)</a></li>
      <li><a href="/category/python.html">python (1)</a></li>
      <li><a href="/category/software.html">software (1)</a></li>
      <li><a href="/category/stock.html">stock (1)</a></li>
      <li><a href="/category/storage.html">storage (2)</a></li>
      <li><a href="/category/vm.html">vm (1)</a></li>
      <li><a href="/category/web.html">web (4)</a></li>
      <li><a href="/category/windows.html">windows (1)</a></li>
      <li><a href="/category/xwindow.html">xwindow (1)</a></li>
  </ul>
</section>
<section>
  <h1>Tags</h1>
    <a href="/tag/linux.html">linux</a>,    <a href="/tag/bash.html">bash</a>,    <a href="/tag/xwindow.html">Xwindow</a>,    <a href="/tag/programming-language.html">programming-language</a>,    <a href="/tag/java.html">java</a>,    <a href="/tag/programming.html">programming</a>,    <a href="/tag/software.html">software</a>,    <a href="/tag/storage.html">storage</a>,    <a href="/tag/debug.html">debug</a>,    <a href="/tag/c.html">C</a>,    <a href="/tag/git.html">git</a>,    <a href="/tag/patch.html">patch</a>,    <a href="/tag/text.html">text</a>,    <a href="/tag/selenium.html">selenium</a>,    <a href="/tag/web.html">web</a>,    <a href="/tag/docker.html">docker</a>,    <a href="/tag/flatpak.html">flatpak</a>,    <a href="/tag/interview.html">interview</a>,    <a href="/tag/qt.html">Qt</a>,    <a href="/tag/opensuse.html">openSUSE</a>,    <a href="/tag/filesystem.html">filesystem</a>,    <a href="/tag/ide.html">IDE</a>,    <a href="/tag/glang.html">glang</a>,    <a href="/tag/xdg.html">xdg</a>,    <a href="/tag/network.html">network</a>,    <a href="/tag/raspberry.html">raspberry</a>,    <a href="/tag/vm.html">vm</a>,    <a href="/tag/windows.html">windows</a>,    <a href="/tag/gdb.html">gdb</a>,    <a href="/tag/debian.html">debian</a>,    <a href="/tag/archlinux.html">archlinux</a>,    <a href="/tag/phicomm.html">phicomm</a>,    <a href="/tag/kernel.html">kernel</a>,    <a href="/tag/ext4.html">ext4</a>,    <a href="/tag/server.html">server</a>,    <a href="/tag/stock.html">stock</a>,    <a href="/tag/shu.html">书</a>,    <a href="/tag/gu-piao.html">股票</a>,    <a href="/tag/python.html">python</a>,    <a href="/tag/nltk.html">nltk</a>,    <a href="/tag/command.html">command</a>,    <a href="/tag/shell.html">shell</a>,    <a href="/tag/terminal.html">terminal</a>,    <a href="/tag/other.html">other</a>,    <a href="/tag/wireless.html">wireless</a>,    <a href="/tag/android.html">android</a>,    <a href="/tag/gtk.html">gtk+</a>,    <a href="/tag/gnome.html">gnome</a>,    <a href="/tag/keyboard.html">keyboard</a>,    <a href="/tag/firefox.html">firefox</a>,    <a href="/tag/arch.html">arch</a>,    <a href="/tag/database.html">database</a>,    <a href="/tag/mysql.html">mysql</a>,    <a href="/tag/notes.html">notes</a>,    <a href="/tag/sysctl.html">sysctl</a>,    <a href="/tag/vim.html">vim</a>,    <a href="/tag/editor.html">editor</a>,    <a href="/tag/pelican.html">pelican</a>,    <a href="/tag/blog.html">blog</a>,    <a href="/tag/book.html">book</a>,    <a href="/tag/bootloader.html">bootloader</a></section>
    <section>
        <h1>Social</h1>
        <ul>
            <li><a href="https://github.com/zhangjiaxing" target="_blank">github</a></li>
            <li><a href="http://wpa.qq.com/msgrd?v=3&uin=347820393&site=qq&menu=yes" target="_blank">qq</a></li>
            <li><a href="http://www.writebug.cn" target="_blank">blog</a></li>
            <li><a href="http://gallery.writebug.cn" target="_blank">gallery</a></li>
        </ul>
    </section>
    <section>
        <h1>Blogroll</h1>
        <ul>
            <li><a href="http://getpelican.com/" target="_blank">Pelican</a></li>
        </ul>
    </section>

</aside>
    </div>
  </div>
  <footer role="contentinfo">
<p>
    Copyright &copy;  2013&ndash;2023  zhiliao &mdash;
  <span class="credit">Powered by <a href="http://getpelican.com">Pelican</a></span>
</p>  </footer>
</body>
</html>